home *** CD-ROM | disk | FTP | other *** search
Makefile | 1994-01-11 | 7.7 KB | 315 lines | [TEXT/MPS ] |
- #######################################################################
- # Project : GUSI - Grand Unified Socket Interface
- # File : Makefile - Build the damn thing
- # Author : Matthias Neeracher
- # Started : 22Mar92 Language : MPW Shell/Make
- # Modified : 24Mar92 MN GUSIDispatch
- # 12Apr92 MN GUSIUnixTest
- # 17Apr92 MN Reorganize Libraries
- # 19Apr92 MN Rewrite in C++
- # 12May92 MN GUSIAtlkTest
- # 06Jun92 MN PPC Toolbox domain
- # 15Jun92 MN GUSIFSp
- # 25Jul92 MN GUSITest
- # 26Jul92 MN Rewrote GUSIAtlkTest
- # 02Aug92 MN GUSIPPCTest
- # 03Aug92 MN GUSIBuffer.cp
- # 16Aug92 MN TCP/IP files: GUSIINET.cp, GUSITCP.cp, GUSIUDP.cp
- # 01Sep92 MN Make GUSI configurable
- # 08Sep92 MN Subset libraries
- # 08Sep92 MN GUSISocketTest.c
- # 24Sep92 MN Install
- # 18Oct92 MN Separate clean and dirty variants
- # 27Oct92 MN More robust deletion
- # 14Nov92 MN Subset libraries were not working correctly
- # 06Dec92 MN Automatic Distribution
- # 18Dec92 MN Watch out for filenames with spaces
- # 09Jan93 MN Make list of targets to be built more flexible
- # 14Mar93 MN Use Stuff to build distribution
- # 04Apr93 MN Release 1.1.1
- # 01Jun93 MN Introduce more conservative dependences
- # 20Jun93 MN Release 1.2.0
- # 17Jul93 MN Release 1.3.0
- # 17Nov93 MN Release 1.3.4, introducing GUSIRemoteConsole
- # 11Jan94 MN Release 1.3.5
- # Last : 11Jan94
- #######################################################################
-
- #######################################################################
- # Paths where GUSI components will go
- #
-
- GUSICIncludes = {CIncludes}
- GUSICLibraries = {CLibraries}
- GUSIRIncludes = {RIncludes}
-
- #######################################################################
- # Comment out GUSI.ps if you don't have SpiderWEB and TeXShop
- #
-
- GUSI_PS = GUSI.ps
-
- #######################################################################
- # You might not need to change anything below this line
- #
-
- GUSI_SOURCES = ∂
- GUSIFSp.cp ∂
- GUSIDispatch.cp ∂
- GUSISocket.cp ∂
- GUSIFile.cp ∂
- GUSISIOW.cp ∂
- GUSIBuffer.cp ∂
- GUSIUnix.cp ∂
- GUSIAppleTalk.cp ∂
- GUSIPPC.cp ∂
- GUSIINET.cp ∂
- GUSITCP.cp ∂
- GUSIUDP.cp ∂
- GUSINetDB.cp ∂
- GUSIPAP.cp ∂
- GUSICfg.c ∂
- GUSIRemoteConsole.cp
-
- GUSI_HEADERS = ∂
- GUSI.h ∂
- GUSI_P.h ∂
- TFileSpec.h ∂
- compat.h ∂
- dirent.h ∂
- 'machine/ansi.h' ∂
- 'machine/endian.h' ∂
- 'machine/types.h' ∂
- netdb.h ∂
- 'netinet/in.h' ∂
- 'netinet/tcp.h' ∂
- 'sys/cdefs.h' ∂
- 'sys/errno.h' ∂
- 'sys/fcntl.h' ∂
- 'sys/ioctl.h' ∂
- 'sys/socket.h' ∂
- 'sys/stat.h' ∂
- 'sys/time.h' ∂
- 'sys/types.h' ∂
- 'sys/uio.h' ∂
- 'sys/un.h' ∂
- 'sys/unistd.h' ∂
- unistd.h
-
- OBSOLETE_HEADERS = ∂
- "{GUSICIncludes}"'machine/machtypes.h' ∂
- "{GUSICIncludes}"'sys/ioctl_compat.h' ∂
- "{GUSICIncludes}"'sys/ttychars.h' ∂
- "{GUSICIncludes}"'sys/ttydev.h'
-
- GUSI_OBJECTS = ∂
- :Obj:GUSIFSp.cp.o ∂
- :Obj:GUSIDispatch.cp.o ∂
- :Obj:GUSISocket.cp.o ∂
- :Obj:GUSIFile.cp.o ∂
- :Obj:GUSISIOW.cp.o ∂
- :Obj:GUSIBuffer.cp.o ∂
- :Obj:GUSIUnix.cp.o ∂
- :Obj:GUSIAppleTalk.cp.o ∂
- :Obj:GUSIPPC.cp.o ∂
- :Obj:GUSIINET.cp.o ∂
- :Obj:GUSITCP.cp.o ∂
- :Obj:GUSIUDP.cp.o ∂
- :Obj:GUSINetDB.cp.o ∂
- :Obj:GUSIPAP.cp.o
-
- GUSI_DOC = ∂
- GUSI.web ∂
- GUSI.tex ∂
- GUSI.ps ∂
- README
-
- GUSI_TARGETS = ∂
- GUSI.o ∂
- GUSI_Everything.cfg ∂
- GUSI_Appletalk.cfg ∂
- GUSI_Internet.cfg ∂
- GUSI_Unix.cfg ∂
- GUSI_PPC.cfg ∂
- GUSI_PAP.cfg ∂
- GUSIRemoteConsole.o
-
- GUSI_LIB = ∂
- {GUSI_TARGETS} ∂
- GUSI.r ∂
- GUSI.rsrc
-
- GUSI_TEST = ∂
- :Examples:GUSITest.c ∂
- :Examples:GUSITest.h ∂
- :Examples:GUSITest.r ∂
- :Examples:GUSITest.rsrc ∂
- :Examples:GUSITest_P.h ∂
- :Examples:GUSISocketTest.c ∂
- :Examples:GUSIAtlkTest.c ∂
- :Examples:GUSIFileTest.c ∂
- :Examples:GUSIINETTest.c ∂
- :Examples:GUSIPPCTest.c ∂
- :Examples:GUSIUnixTest.c ∂
- :Examples:GUSIUnixTest.r ∂
- :Examples:GUSIFinger.c ∂
- :Examples:GUSIFinger.r ∂
- :Examples:GUSIPAPTest.c
-
- GUSI_MISC = ∂
- MakeAliases ∂
- Internalize ∂
- Distribution ∂
- SafeDel ∂
- Aliases ∂
- GUSI.dn ∂
- GUSI.ext ∂
- GUSI_C.dn ∂
- GUSIINET_P.h ∂
- GUSIPPC_P.h ∂
- GUSIRsrc_P.h ∂
- Makefile ∂
- '/etc/services'
-
- GUSI_DISTR = ∂
- {GUSI_SOURCES} ∂
- {GUSI_HEADERS} ∂
- {GUSI_DOC} ∂
- {GUSI_LIB} ∂
- {GUSI_TEST} ∂
- {GUSI_MISC}
-
- Debug =
-
- COptions = -r -mbg on -sym on -i : -i :include
- CPlusOptions = -mf -mbg on -sym on -i : -i :include {Debug}
- LOptions = -sym on -mf -w
- ROptions = -i :
-
- :Obj: ƒ :
-
- Help ƒ
- Echo "Top level targets are:"
- Echo "∂tInstall - Install GUSI"
- Echo "∂tUninstall - Try to remove GUSI"
- Echo "∂tGUSI - Rebuild GUSI (use with care)"
- Echo "∂tGUSITest - Build GUSI Examples"
-
- Alias.dump ƒ "{Libraries}Runtime.o" "{CLibraries}StdCLib.o" "{CLibraries}CPlusLib.o"
- DumpObj -mods "{Libraries}Runtime.o" > Alias.dump
- DumpObj -mods "{CLibraries}StdCLib.o" >> Alias.dump
- DumpObj -mods "{CLibraries}CPlusLib.o" >> Alias.dump
-
- Alias.rn ƒ Aliases Alias.dump
- MakeAliases Alias.dump
-
- GUSI.dn ƒ preGUSI.o GUSI.ext
- DumpObj -mods preGUSI.o | Internalize
-
- StdLib.o ƒ Alias.rn
- Lib -w -o StdLib.o ∂
- -sg GUSILib=Main ∂
- `Catenate Alias.rn` ∂
- "{Libraries}Runtime.o" ∂
- "{CLibraries}StdCLib.o" ∂
- "{CLibraries}CPlusLib.o"∂
- "{Libraries}dnr.o" ∂
- -df Alias1.df
-
- #######################################################################
- # The full library
- #
-
- preGUSI.o ƒ {GUSI_OBJECTS} Alias.rn StdLib.o
- Lib -w -o preGUSI.o ∂
- {GUSI_OBJECTS} ∂
- StdLib.o ∂
- -sg Main=GUSIResident ∂
- -df Alias.df
-
- GUSI.o ƒ preGUSI.o GUSI.dn
- Set Echo 0
- Echo "∂t∂tLib" -w -o GUSI.o ...
- Lib -w -o GUSI.o preGUSI.o `Catenate GUSI.dn`
- Set Echo 1
-
- GUSI_Everything.cfg ƒ GUSICfg.c
- C -d GUSI_Everything -o GUSI_Everything.cfg GUSICfg.c
-
- GUSI_Appletalk.cfg ƒ GUSICfg.c
- C -d GUSI_Appletalk -o GUSI_Appletalk.cfg GUSICfg.c
-
- GUSI_Internet.cfg ƒ GUSICfg.c
- C -d GUSI_Internet -o GUSI_Internet.cfg GUSICfg.c
-
- GUSI_Unix.cfg ƒ GUSICfg.c
- C -d GUSI_Unix -o GUSI_Unix.cfg GUSICfg.c
-
- GUSI_PPC.cfg ƒ GUSICfg.c
- C -d GUSI_PPC -o GUSI_PPC.cfg GUSICfg.c
-
- GUSI_PAP.cfg ƒ GUSICfg.c
- C -d GUSI_PAP -o GUSI_PAP.cfg GUSICfg.c
-
- GUSIRemoteConsole.o ƒ GUSIRemoteConsole.cp
- {CPlus} {CPlusOptions} GUSIRemoteConsole.cp -o GUSIRemoteConsole.o
-
- #######################################################################
- # Clean namespace
- #
-
- GUSI_C.o ƒ GUSI.o GUSI.dn
- Lib -o GUSI_C.o ∂
- GUSI.o ∂
- `Catenate GUSI_C.dn`
-
- GUSI.tex ƒ GUSI.web
- cweave GUSI
-
- GUSI.dvi ƒ GUSI.tex
- tex GUSI
-
- GUSI.ps ƒ GUSI.dvi
- dvips -a -Z GUSI.dvi -o GUSI.ps
-
- GUSI ƒ {GUSI_TARGETS} {GUSI_DOC}
-
- Install ƒ
- :SafeInstall -to "{GUSICLibraries}" {GUSI_TARGETS}
- :SafeInstall -to "{GUSICIncludes}" -from include {GUSI_HEADERS} GUSIRsrc_P.h
- :SafeInstall -to "{GUSIRIncludes}" GUSI.r GUSI.rsrc :include:GUSIRsrc_P.h
- :SafeDel {OBSOLETE_HEADERS}
- :SafeInstall -y -to "{PrefsFolder}:" '/etc/services'
-
- Uninstall ƒ
- :SafeDel "{CLibraries}GUSI.o" "{CLibraries}GUSI_F.o"
- For i in {GUSI_HEADERS}
- :SafeDel "{GUSICIncludes}{i}"
- End
- :SafeDel "{RIncludes}GUSI.r" "{RIncludes}GUSI.rsrc" "{RIncludes}GUSIRsrc_P.h"
-
- GUSITest GUSIFileTest ∂
- GUSIFinger GUSIPAPTest ∂
- GUSIUnixTest GUSIUnixTest2 ∂
- GUSIAtlkTest GUSIAtlkTest2 ∂
- GUSIPPCTest GUSIPPCTest2 ∂
- GUSIINETTest GUSIINETTest2 ƒ $OutOfDate
- Directory Examples
- Set OldEcho {Echo}
- Set Echo 0
- BuildProgram {Targ}
- Set Echo {OldEcho}
- Directory ::
-
- GUSICleanDep ƒ
- :SafeDel '≈.dn' '≈.rn' '≈.df'
-
- Clean ƒ
- :SafeDel '≈.dn' '≈.rn' '≈.df' '≈.o' '≈.toc' '≈.tex' '≈.log' '≈.dump' '≈.sym'
-
- RealClean ƒ Clean
- :SafeDel '≈.dvi' '≈.ps' '-t APPL'
-
- Distribution ƒ GUSI
- :Distribute GUSI.distr GUSI_135.sit
-